<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>插入排序</title>
</head>
<body>
	<h4>排序小型数组时，此算法比选择排序和冒泡排序性能要好</h4>
	<br>
	<br>
	<p>插入排序每次排一个数组项，以此方式构建最后的排序数组。假定第一项已经排序了，接着， 它和第二项进行比较，第二项是应该待在原位还是插到第一项之前呢?这样，头两项就已正确排 序，接着和第三项比较(它是该插入到第一、第二还是第三的位置呢?)，以此类推。</p>
	<script type="text/javascript">
		function createTestArr(size) {
			var arr = [];
			for (let i = size; i > 0; i--) {
				arr.push(i);
			}
			return arr;
		}
		function insertSort (array) {
			var arr = array,
				len = arr.length,
				j,
				temp;
				for (let i = 1; i < len; i++) {
					j = i;
					temp = arr[i];
					while (j > 0 && arr[j - 1] > temp) {
						arr[j] = arr[j -1];
						j --;
					}
					arr[j] = temp;
				}
				return arr;
		}
		console.log(insertSort(createTestArr(10)))
	</script>
</body>
</html>